package eleicao;

import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;

/**
 *
 * @author lyncolnmauricio
 */
public class Servidor extends Thread {

    private static ServerSocket servidor; //Necessário para abrir a porta do serviço
    private final Socket conexao; //Necessário para abrir a aceitar e permitir uma conexão com o servidor
    private DataInputStream entrada; //Necessário para receber o a entrada do Cliente
    private static ArrayList<String> listaCandidatos = new ArrayList<String>();
    
    
    public Servidor(Socket conn) { //Construtor recebendo conn como parametro
        conexao = conn;
    }
    
    @Override
    public void run(){ //thread
        
        try{
            
            entrada = new DataInputStream(conexao.getInputStream()); //pega a entrada do cliente
            System.out.println("Instanciou o canal de comunicação.");
            
            while(true){
                
            }
            
        }catch(IOException e){
            System.out.println("Erro: " + e.toString());
        }
    }
    
    public static void main(String[] args) {
        
        try {
            
            servidor = new ServerSocket(5000); //Instância qual porta deverá ser aberta
            
            while(true) {
                Socket conexaoLocal = servidor.accept(); //Fica na escuta, aguardando uma conexão no servidor
                //listaConexoes.add(conexaoLocal);
                
                System.out.println("Um cliente se conectou...");
                
                Servidor s = new Servidor(conexaoLocal); //Instãncia um servidor para receber várias conexões
                s.start(); //Inicia a thread
            }
        }catch(IOException e){
            System.out.println("Erro: " + e.toString());
        }
        
    }
    
}
